$(function () {
    //上传学员
    var uploader = WebUploader.create({
        swf:staticPath + '/static/common/webuploader/Uploader.swf', // swf文件路径
        fileType: 'xls',//文件类型
        accept:{
            title: 'xls',
            extensions: 'xls',
            mimeTypes: 'application/vnd.ms-excel'
        },
        multiple: false,//是否允许上传多个文件
        server: baseloaction+'/admin/user/cus/ajaxImportUserExcel',// 文件接收服务端。
        pick:{
            //指定选择文件的按钮容器，不指定则不创建按钮。注意 这里虽然写的是 id, 但是不是只支持 id, 还支持 class, 或者 dom 节点
            id: '#picker',
            //指定按钮文字。不指定时优先从指定的容器中看是否自带文字

            //是否开起同时选择多个文件能力
            multiple:false
        }, // 选择文件的按钮。可选。// 内部根据当前运行是创建，可能是input元素，也可能是flash.
        resize: false ,// 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
        //指定Drag And Drop拖拽的容器，如果不指定，则不启动
        dnd: '#uploader #thelist',
        fromData: {'param':'import'},
        //指定监听paste事件的容器，如果不指定，不启用此功能。此功能为通过粘贴来添加截屏的图片。建议设置为document.body.
        //paste: document.body,
        //设置文件上传域的name。
        fileVal:'file'
    });
    // 当有文件被添加进队列的时候
    var  $list = $("#thelist");
    uploader.on( 'fileQueued', function( file ) {
        $list.append( '<div id="' + file.id + '" class="item">' +
            '<h4 class="info">' + file.name + '</h4>' +
            '</div>' );
    });

    // 文件上传过程中创建进度条实时显示。
    uploader.on( 'uploadProgress', function( file, percentage ) {
        var $li = $( '#'+file.id ),
            $percent = $li.find('.progress .progress-bar');

        // 避免重复创建
        if ( !$percent.length ) {
            $percent = $('<div class="progress progress-striped active">' +
                '<div class="progress-bar" role="progressbar" style="width: 0%">' +
                '</div>' +
                '</div>').appendTo( $li ).find('.progress-bar');
        }
        $percent.css( 'width', percentage * 100 + '%' );
    });

    //当某个文件上传到服务端响应的回调
    uploader.onUploadAccept = function(object,ret){
        console.dir(ret);
        var message = ret.entity;
        if(ret.success==true){
            showImportResult(object.file.name + "导入结果",message);
        }else{
            uploader.stop(true);
            showImportResult(object.file.name + "导入异常",message);
        }
    };

    function showImportResult(result, message){
        layer.open({
            type: 1,
            area: '500px',
            maxHeight: '500px',
            title: result,
            content: '<div style="padding: 20px;font-size: 16px">' + message + '</div>',
            cancel: function(){
                window.location.reload();
            }
        });
    }

    uploader.on( 'uploadError', function( file ) {
        $( '#'+file.id ).find('p.state').text('上传出错');
    });

    uploader.on( 'uploadComplete', function( file ) {
        $( '#'+file.id ).find('.progress').fadeOut();
    });

    $("#add-subject").click(function(){
        parent.layer.open({
            type: 2,
            area: winArea,
            btn: ['确定','取消'],
            content:baseloaction +'/admin/user/cus/initSelectSubject',
            skin: 'layui-layer-demo',
            title: '<strong>选择专业/科目</strong>',
            yes: function (index, layero) {
                var iframeName = layero.find("iframe").attr('name');
                var subjectIds = $(parent.window.frames[iframeName].document).find("input[name=subjectIds]").val();
                if(subjectIds==null || subjectIds==''){
                    icModale(0,'请选择专业/科目');
                    return;
                }
                $("#subjectIds").val(subjectIds);
                $("#ctlBtn").removeAttr("disabled");
                parent.layer.close(index);
                icModale(1,'已经设置完成专业/科目数据，您现在可以开始上传',1,function (_index) {
                    parent.layer.close(_index);
                });
            },
            success:function (index,layero) {//窗口加载成功

            }
        });
    });

    //点击上传按钮触发事件
    $("#ctlBtn").click(function(){
       if($('#thelist .item').length>0){
           uploader.on( 'uploadBeforeSend', function( block, data ) {
               data.subjectIds= $("#subjectIds").val();    // 将存在file对象中的md5数据携带发送过去。
           },2);
           uploader.upload();
       }else{
           icModale(0,"请选择文件");
       }
    });
});
